package com.software_product_construction.backend_software_product_construction.dao;

import com.software_product_construction.backend_software_product_construction.pojo.Lessee;
import com.software_product_construction.backend_software_product_construction.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.awt.print.Pageable;
import java.util.ArrayList;
import java.util.List;

/**
 * 表示的是租户(Lessee)表数据库访问层
 *
 * @author makejava
 * @since 2022-11-03 11:31:08
 */

@Mapper
public interface LesseeMapper {

    /*
    * 模糊查询
    * @param nickname String
    * @param from,to int
    * */
    List<User> getUserList(@Param("lesseeId") String lesseeId,@Param("nickName") String nickName, @Param("from") Integer from, @Param("num") Integer num);

    /*
     * 根据id删除用户
     * @param id String
     * */
    Integer deleteUserById(String id);

    /*
     * @param id 用户id
     * @param password 密码
     * @param nickname 用户昵称
     * @param sex 用户性别
     * @return boolean
     * */
    Boolean modifyUserInfo(@Param("id") String id,@Param("password") String password,@Param("nickname") String nickname,@Param("sex") Integer sex);


    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    Lessee queryById(String id);

    /**
     * 查询指定行数据
     *
     * @param lessee 查询条件
     * @return 对象列表
     */
    List<Lessee> queryAllByLimit(Lessee lessee);

    /**
     * 统计总行数
     *
     * @param lessee
     * @return 总行数
     */
    Integer count(Lessee lessee);

    /*
    * 查询某一租户的信息
    * @param Lessee
    * */
    List<Lessee> selectLessee(Lessee lessee);

    /*
     * 查询某一租户历史信息 分页
     * @param Lessee
     * */
    List<Lessee> selectLesseePage(@Param("from")Integer from,@Param("num")Integer num,@Param("lessee")Lessee lessee);

    /**
     * 新增数据
     *
     * @param lessee 实例对象
     * @return 影响行数
     */
    int insert(Lessee lessee);



}

